package com.nanmeishu.services.user.facade;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nanmeishu.services.user.dto.LoginDto;
import com.nanmeishu.services.user.dto.UpdatePasDto;
import com.nanmeishu.services.user.entity.User;
import com.nanmeishu.services.user.vo.CountUserVo;
import com.nanmeishu.services.user.vo.GetUserProgressBarsVo;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

public interface UserService extends IService<User> {
    /**
     * 注册接口
     *
     * @param user
     */
    void register(User user);

    /**
     * 修改用户信息
     *
     * @param user
     */
    void updateUser(User user, HttpServletRequest request);

    /**
     * 修改用户密码
     *
     */
    void updatePas(UpdatePasDto updatePasDto, HttpServletRequest request);

    /**
     * 返回用户人生进度条
     */
    GetUserProgressBarsVo getUserProgressBars(HttpServletRequest request);

    /**
     * 登录
     * @param loginDto
     */
    String login(LoginDto loginDto);

    /**
     * 找回密码
     * @param updatePasDto
     */
    void getBackPas(UpdatePasDto updatePasDto);

    /**
     * 返回用户的资源数量
     * @param request
     * @return
     */
    CountUserVo countUser(HttpServletRequest request);

    /**
     * token获取用户信息
     * @param request
     * @return
     */
    User getUserByToken(HttpServletRequest request);
}
